// Background Service Worker
// 管理扩展的生命周期和后台任务

// 扩展安装时的处理
chrome.runtime.onInstalled.addListener(function (details) {
  console.log('扩展已安装:', details.reason);

  if (details.reason === 'install') {
    console.log('首次安装扩展');
    // 可以在这里进行初始化设置
  } else if (details.reason === 'update') {
    console.log('扩展已更新');
    // 可以在这里处理更新后的逻辑
  }
});

// 监听来自content script的消息
chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
  console.log('收到来自content script的消息:', request);

  if (request.type === 'xpathFound') {
    console.log('XPath元素已找到，执行业务逻辑');
    // 可以在这里处理业务逻辑
    sendResponse({ status: 'success', message: '业务逻辑已执行' });
  }

  // 必须返回true以保持消息通道开放（如果需要异步响应）
  return true;
});

// 监听标签页更新
chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
  if (changeInfo.status === 'complete' && tab.url) {
    console.log('标签页加载完成:', tab.url);

    // 如果页面是Facebook相关页面，可以在这里进行特殊处理
    if (tab.url.includes('facebook.com') || tab.url.includes('fb.com')) {
      console.log('检测到Facebook页面，准备注入content script');
    }
  }
});

// 监听标签页激活
chrome.tabs.onActivated.addListener(function (activeInfo) {
  console.log('标签页已激活:', activeInfo.tabId);
});

// 扩展启动时的处理
chrome.runtime.onStartup.addListener(function () {
  console.log('扩展已启动');
});
